package com.cfs.dao.sys;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import com.cfs.po.sys.Right;
import com.cfs.po.sys.Role;


/**
 * 角色管理dao
 * 
 * @author wang.yujie
 * @since 2012-12-23
 * @version 1.0
 */
public interface RoleDao {

	public Role get(Long roleId);



	public boolean checkRights(long roleId, String uri);

	public List<String> queryRoleRight(long roleId);

	/**
	 * 角色批量添加
	 */
	public int add(Role[] roles);

	/**
	 * 角色更新
	 */
	public int update(Role[] roles);

	/**
	 * 角色删除
	 */
	public int delete(long[] ids);

	/**
	 * 获取角色列表查询人员
	 * 
	 * @param rid
	 * @return
	 */
	public List<Role> lists(int level);

	/**
	 * 获取角色列表
	 * 
	 * @param rid
	 * @return
	 */
	public List<Role> list(int level);

	/**
	 * 根据rid获取角色
	 * 
	 * @param rid
	 * @return
	 */
	public Role query(long rid);

	/**
	 * 根据rid获取权限列表
	 * 
	 * @param rid
	 * @return
	 */
	public List<Right> queryRights(Long rid);

	/**
	 * 获取全部权限列表
	 * 
	 * @param rid
	 * @return
	 */
	public List<Right> queryAllRights();

	/**
	 * 角色权限维护
	 * 
	 * @param roleId
	 * @param rights
	 * @return
	 */
	public int updateRight(Long roleId, List<Right> rights);
}
